package org.lmind.arena.srd35;

public interface Creature extends AbilityObject, Equipmentable {
	
	/**
	 * 获取生物的种族
	 * @return
	 */
	Race getRace();
	
	/**
	 * 获取生物的阵营
	 * @return
	 */
	Alignment getAlignment();
	
	/**
	 * 获取生物的体型
	 * @return
	 */
	BodySize getBodySize();
	
	/**
	 * 获取基本攻击加值
	 * @return
	 */
	int getBaseAttackBonus();
	
	/**
	 * 速度,格子
	 * @return
	 */
	int getSpeed();
	
	/**
	 * 获取豁免值
	 * @return
	 */
	Saving getSaving();
	
	/**
	 * 获取和其他生物的距离
	 * @param other
	 * @return
	 */
	int distanceOf(Creature other);
	
	/**
	 * 对生物造成伤害
	 * @param dmg 伤害
	 * @return 实际造成的伤害
	 */
	Damage hurt(Damage dmg);
	
}
